package com.rede.didiok.user.modulelist.rank.service;

import java.util.List;
import java.util.Map;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.rede.didiok.common.dto.rank.MemberTagDto;
import com.rede.didiok.common.utils.PageUtils;
import com.rede.didiok.user.modulelist.rank.entity.MemberTagEntity;

/**
 * 榜单成员标签
 *
 * @author Rede
 * @email didiok@foxmail.com
 * @date 2023-07-20 22:09:24
 */
public interface MemberTagService extends IService<MemberTagEntity> {

    PageUtils queryPage(Map<String, Object> params);

    /**
     * 获取博客标签列表
     *
     * @param tagVO
     * @return
     */
    public IPage<MemberTagEntity> getPageList(MemberTagDto tagDto);

    /**
     * 获取全部博客标签列表
     *
     * @return
     */
    public List<MemberTagEntity> getList();

    /**
     * 新增博客标签
     *
     * @param tagVO
     */
    public String addTag(MemberTagDto tagDto);

    /**
     * 编辑博客标签
     *
     * @param tagVO
     */
    public String editTag(MemberTagDto tagDto);

    /**
     * 批量删除博客标签
     *
     * @param tagVOList
     */
    public String deleteBatchTag(List<MemberTagDto> tagDtoList);

    /**
     * 置顶博客标签
     *
     * @param tagVO
     */
    public String stickTag(MemberTagDto tagDto);

    /**
     * 通过引用量排序博客
     *
     * @return
     */
    public String tagSortByCite();

    /**
     * 获取热门标签
     *
     * @return
     */
    public List<MemberTagEntity> getHotTag(Integer hotTagCount);

    /**
     * 获取一个排序最高的标签
     *
     * @return
     */
    public MemberTagEntity getTopTag();
}

